#pragma once

#include <memory>

#include <opencv2/opencv.hpp>

namespace demo
{

class Camera
{

public:
	Camera(uint32_t cameraId = 0);
	~Camera() = default;

  Camera(const Camera&) = delete;
  Camera& operator=(const Camera&) = delete;
  Camera(Camera&&) = delete;
  Camera& operator=(Camera&&) = delete;
  
  cv::Mat getNextFrame();
  
private:
	std::unique_ptr<cv::VideoCapture> videoCapture;

}; // class Camera

}// namespace demo
